Synchronization of the operation of various components of a system is often desired. For instance, in measurement systems that are made up of several traditional all-in-one box instruments, complex measurements often require that several instruments be controlled together in order to properly synchronize their respective operations. As examples, spectrum analyzers should not be allowed to take measurements until signal sources have settled; power meter measurements should not be taken until a sufficient number of samples have been averaged to ensure accuracy; and frequency-sweeping sources should not be allowed to switch to a new frequency until measurements have been completed at the current frequency. Thus, it becomes desirable to synchronize the relative operations of the various instruments.
Often, hardware trigger lines are used to synchronize the various instruments in a test system. Hardware trigger lines are particularly effective in measurement systems where precise synchronization is required, or where measurement speed is important. When implementing hardware trigger lines, the instruments have a trigger output and a trigger input with a dedicated hardware line (e.g., wire) connecting one instrument's trigger output to another instrument's trigger input.
For instance, a spectrum analyzer typically includes a receiver and a digitizer in the same box, wherein the output signal from the receiver should be measured after it has had some period of time in which to settle. When implementing hardware trigger lines between the receiver and the digitizer, the receiver would have a trigger output port that is coupled via a hardware line (e.g., wire) to the digitizer's trigger input port. The voltage on this hardware line goes high at the time that the output signal from the receiver has settled, and the digitizer unit's trigger input senses that voltage transition to high and thus triggers its measurement to begin. Thus, the hardware trigger line ensures that the relative operations of the instruments are synchronized in a desired manner.
The hardware trigger line technique requires a physical wire that goes between these two instruments, and the function of that wire is fixed and dedicated for use as a trigger. Further, inclusion of such hardware trigger lines increases the amount of wiring and thus often results in wiring complexities and/or complications, such as issues concerning routing of the wires and increased difficulty troubleshooting problems. Also, as the length of the hardware trigger line increases (e.g., as the coupled instruments are arranged more distant from each other), the latency of signals communicated over such hardware trigger line also increases.
Another synchronization technique uses software to control the operations of the various instruments in a synchronized manner. Such software synchronization may be used in situations in which hardware triggers are not available, such as when the instruments to be synchronized are arranged too far apart to permit the use of a hardware trigger line. In implementing software for controlling synchronization of the operation of various instruments, the software may utilize predefined time delays, queries of the instruments, and/or software interrupts for coordinating the actions of the instruments. For instance, after instructing a first instruments to take a first action, the software in an external controller may wait for a specific amount of time before instructing another instruments to take a given action that is to be performed after completion of the first action. In some cases, the software in the external controller may query an instrument to determine when it has completed a given function so that the software can determine when it is appropriate to trigger the next action. In certain instances, the instruments may be implemented to send a signal to the external controller to generate a software interrupt in the controller indicating, for example, that a given instrument has completed a certain operation.
As an example of utilizing a software synchronization technique in synchronizing the operations of the above-mentioned receiver and digitizer, a controlling computer may send a message to the receiver instructing it to change frequency. It is known that some amount of wait time is needed before triggering measurement of the signal having the changed frequency (to allow the change in the frequency to settle). So, after instructing the receiver to change its frequency, the controlling computer waits (or “sleeps”) for some predefined amount of time, such as 100 milliseconds. The controlling computer then instructs the digitizer to start making a measurement.
Techniques are also known for synchronizing the clocks of networked devices to a high-degree of precision. As one example, Network Time Protocol (NTP) is a protocol that is used to synchronize computer clock times in a network of computers. In common with similar protocols, NTP uses Coordinated Universal Time (UTC) to synchronize computer clock times to within a millisecond, and sometimes to within a fraction of a millisecond. As another example, the Institute of Electrical and Electronics Engineers Standards Association (IEEE-SA) has approved a new standard for maintaining the synchrony between clocks on a network, referred to as the IEEE 1588 “Standard for a Precision Synchronization Protocol for Networked Measurement and Control Systems.” In general, this IEEE 1588 standard defines messages that can be used to exchange timing information between the networked devices for maintaining their clocks synchronized. The IEEE 1588 standard enables even a greater degree of precision (e.g., to within a microsecond) in clock synchronization than that provided by NTP.
However, while techniques such as NTP and the IEEE 1588 standard provide techniques for synchronizing the clocks of networked devices to a high-degree of precision such that the networked devices that each have a local clock have a common sense of time, these techniques do not address synchronization of the operation of devices. Rather, such techniques focus on actively maintaining synchronized clocks between networked devices. Thus, the active clock synchronization techniques leave open how the devices may leverage their synchronized clocks, if at all, in order to synchronize their respective operations.